package com.zp.mall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 *  1、整合Mybatis-Plus
 *      1）、导入依赖   mybatis-plus-boot-starter
 *      2）、配置
 *          1.配置数据源
 *              1)、导入数据库的驱动
 *              2)、在application.yml中配置数据源的相关信息
 *          2.配置Mybatis-Plus
 *              1)、使用@MapperScan
 *              2)、告诉Mybatis-Plus， sql映射文件位置
 *
 *  2、逻辑删除（详情见mybatis-plus官网：https://baomidou.com/guide/logic-delete.html#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%EF%BC%9A）
 *      1）、application.yml配置全局的逻辑删除规则（可省略）
 *      2）、实体类字段上加上@TableLogic注解
 *
 *  3、JSR303完成后端校验
 *      1）给Bean要校验的属性添加校验注解:  javax.validation.constraints包下
 *      2）开启校验功能 @Valid
 *         效果：校验失败后 会有默认的响应
 *     3）给检验Bean后面紧跟一个 BindingResult, 就可以获取到校验的结果
 */
@EnableFeignClients(basePackages = "com.zp.mall.product.feign")
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.zp.mall.product.dao")
public class MallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run (MallProductApplication.class, args);
    }

}
